package com.evangelion.core.daoImpl;

import com.evangelion.core.bean.Usuario;
import com.evangelion.core.bean.UsuarioReporte;
import com.evangelion.core.dao.UsuarioReporteDao;

import javax.persistence.Query;

import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

/**
 * Date: 2/23/14
 */
@Component
@Transactional
public class UsuarioReporteDaoImpl extends AbstractDAO implements UsuarioReporteDao {

    @Override
    public void save(UsuarioReporte usuarioReporte) {
        super.save(usuarioReporte);
    }

    @Override
    public UsuarioReporte findUsuarioReporte(Usuario usuario, String reportName) {
        if (null == usuario) {
            return null;
        }
        String sql = "SELECT ur from UsuarioReporte ur WHERE ur.usuario = :user and ur.nameReporte = :reportName";
        try {
            Query q = em.createQuery(sql);
            q.setParameter("user", usuario);
            q.setParameter("reportName", reportName);
            UsuarioReporte ur = (UsuarioReporte) q.getSingleResult();
            return ur;
        } catch (Exception e) {
            System.out.println(e);
            return null;
        }
    }
}
